This specification relates to language input methods.
Language input methods allow users to provide language input using an input method editor (IME). The IME is a language input method application that allows an input method to be used. An input method allows a user to provide input in a target language (e.g., a non-Latin language) using a keyboard in a source language (e.g., QWERTY keyboard). The IME maps ideographs of the target language to keys on the keyboard in the source language (e.g., pressing a particular key or combination of keys in an input language produces a corresponding ideograph in the target language according to the mapping). Conventional IMEs, however, simply substitute mapped characters; they do not translate the input (e.g., interpret a meaning of input text in a source language and provide translated text, with a substantially same meaning, in a target language).
If a user would like to provide input in a source language and translate the input into a target language, the user typically uses a separate dictionary or translation application. The user provides input in the source language to the dictionary or translation application. The user then copies translated input (e.g., input translated into the target language) from the dictionary or translation application and pastes the translated input in a desired location. Furthermore, if the user would like to translate separate portions of text (e.g., entering different lines of a chat conversation), the user typically provides each portion of text to the dictionary or translation application. Then, the user copies and pastes each portion of translated text from the dictionary or translation application in a desired location (e.g., in a chat interface).